/******************************************************************
Copyright © Deng Zhimao Co., Ltd. 2021 - 2030. All rights reserved.
* @projectName   camera_opencv_test
* @brief         widget.cpp
* @author        Deng Zhimao
* @email         dengzhimao@alientek.com/1252699831@qq.com
* @date          2024 - 03 - 25
* @link          http://www.openedv.com/forum.php
*******************************************************************/
#include "widget.h"
#include "ui_widget.h"
#include <QKeyEvent>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 设置窗口为无边框模式
    setWindowFlags(Qt::FramelessWindowHint);

    // 移动窗口到指定位置
    move(1080, 0);

    // 设置窗口为全屏模式
    showFullScreen();

    // 去除 QLabel 的边距和边框
    ui->label->setContentsMargins(0, 0, 0, 0);
    ui->label->setStyleSheet("border: none;");

    // 调整布局边距为 0
    if (layout()) {
        layout()->setContentsMargins(0, 0, 0, 0);
    }

    m_cameraFrameThread = new CameraFrameThread(this);
    connect(m_cameraFrameThread, SIGNAL(imageIsReady(QImage)), this, SLOT(updateImage(QImage)));
    m_cameraFrameThread->start();
}

Widget::~Widget()
{
    delete ui;
}

void Widget::updateImage(QImage image)
{
    // 确保图像自适应标签大小
    ui->label->setScaledContents(true);
    ui->label->setPixmap(QPixmap::fromImage(image));
}

void Widget::keyPressEvent(QKeyEvent *event)
{
    int key = event->key();
    if ((key >= Qt::Key_A && key <= Qt::Key_Z) || key == Qt::Key_1 || key == Qt::Key_2 || key == Qt::Key_3 || key == Qt::Key_4) {
        // 将按键转换为 ASCII 码
        if (key >= Qt::Key_A && key <= Qt::Key_Z) {
            key = key - Qt::Key_A + 'a';
        }
        m_cameraFrameThread->handleKeyPress(key);
    }
    QWidget::keyPressEvent(event);
}



// /******************************************************************
// Copyright © Deng Zhimao Co., Ltd. 2021 - 2030. All rights reserved.
// * @projectName   camera_opencv_test
// * @brief         widget.cpp
// * @author        Deng Zhimao
// * @email         dengzhimao@alientek.com/1252699831@qq.com
// * @date          2024 - 03 - 25
// * @link          http://www.openedv.com/forum.php
// *******************************************************************/
// #include "widget.h"
// #include "ui_widget.h"
// #include <QKeyEvent>

// Widget::Widget(QWidget *parent)
//     : QWidget(parent)
//     , ui(new Ui::Widget)
// {
//     ui->setupUi(this);

//     // 设置窗口为无边框模式
//     setWindowFlags(Qt::FramelessWindowHint);

//     // 移动窗口到指定位置
//     move(1080, 0);

//     // 设置窗口为全屏模式
//     showFullScreen();

//     // 去除 QLabel 的边距和边框
//     ui->label->setContentsMargins(0, 0, 0, 0);
//     ui->label->setStyleSheet("border: none;");

//     // 调整布局边距为 0
//     if (layout()) {
//         layout()->setContentsMargins(0, 0, 0, 0);
//     }

//     m_cameraFrameThread = new CameraFrameThread(this);
//     connect(m_cameraFrameThread, SIGNAL(imageIsReady(QImage)), this, SLOT(updateImage(QImage)));
//     m_cameraFrameThread->start();


// }




// Widget::~Widget()
// {
//     delete ui;
// }

// void Widget::updateImage(QImage image)
// {
//     // 确保图像自适应标签大小
//     ui->label->setScaledContents(true);
//     ui->label->setPixmap(QPixmap::fromImage(image));
// }
